import { dataTranslate } from 'utils/directive'
import { isEmptyValue } from './tools'
/**
 * 验证地址 svg-icon component
 * @param {string} path
 * @returns {Boolean}
 */
export function isExternal(path) {
  return /^(https?:|mailto:|tel:)/.test(path)
}

/**
 * 是否为空
 * @param {当前值} value
 */
export function isRequired(v) {
  return !!v || `${dataTranslate('validate.requiredInfo')}`
}

/**
 * 当前值长度小于 自定义 长度
 * @param { 当前值 } v
 * @param { 自定义长度 } length
 */
export function isLessCharacters(v, length) {
  return (
    (v && v.length < length) ||
    `${dataTranslate('validate.lengthLessInfo')} ${length}  ${dataTranslate('common.characters')}`
  )
}

/**
 * 当前值长度大于于 自定义 长度
 * @param { 当前值 } v
 * @param { 自定义长度 } length
 */
export function isMoreCharacters(v, length) {
  return (
    (v && v.length > length) ||
    `${dataTranslate('validate.lengthMoreInfo')} ${length}  ${dataTranslate('common.characters')}`
  )
}

/**
 * 当前值长度大于于 自定义 长度
 * @param { 当前值 } v
 * @param { 自定义长度 } length
 */
export function isInsideCharacters(v, length1, length2) {
  return (
    (v && v.length > length1 && v.length < length2) ||
    `${dataTranslate('validate.lengthMoreInfo')} ${length1} ${dataTranslate(
      'validate.lessInfo'
    )} ${length2} ${dataTranslate('common.characters')}`
  )
}

/**
 * 验证邮箱地址
 * @param { 当前值 } v
 */
export function isEmailValid(v) {
  return /.+@.+\..+/.test(v) || `${dataTranslate('validate.emailInfo')} `
}

/**

 */
/**
 * 验证数字大于0
 * @param {*} v
 * @param {*} number
 */
export function greaterThanNumber(v, number) {
  if (isEmptyValue(number)) {
    return v > 0 || '当前值必须大于0!'
  } else {
    return v < number || `当前值必须大于${number}`
  }
}
